1. Field of the Invention
This invention relates generally to the field of video conversion systems. More particularly, the invention relates to a system and method in which interframe motion compensation data generated during video image compression is used for performing interlaced-to-progressive video image conversion.
2. Description of the Related Art
Various types of video monitors reproduce images in an “interlaced” format (e.g., television monitors). A portion of an interlaced video monitor 140 is illustrated in FIG. 1. As shown, the image scanned onto the monitor 140 may be separated into a plurality of even rows of pixels 150, 152, 154, etc., separated by an equal number of odd rows of pixels 151, 153, 155, etc. An electron scanning beam or other scanning apparatus (not shown) first scans all of the odd rows of pixels 151, 153, 155, etc., of the image in succession and—after the last odd row has been scanned—scans all of the even rows 150, 152, 154, etc. The scanning rate (i.e., the number of times even/odd row pairs are scanned in a second) for a standard television image is 30 Hz in the United States and 25 Hz in Europe.
An interlaced data stream 130, which the scanning apparatus reads to generate the interlaced video image 140, may be separated into sequential groups of odd 110 and even 120 video data. In FIG. 1, odd video data group 110 and even video data group 120 within the data stream 130 comprise all of the information needed by the scanning apparatus to scan an entire video “frame” (a single image within the series of images that comprise the interlaced video).
The scanning apparatus in a non-interlaced or “progressive” video monitor does not scan odd lines followed by even lines as does the scanning apparatus of an interlaced monitor. Rather, in a progressive monitor, the scanning apparatus simply scans each row in succession (e.g., row 1, row 2, row 3, etc.) to reproduce each video frame.
Sometimes an interlaced video data stream must be converted so that it can be displayed on a progressive video monitor. This is accomplished using a scan converter 240 such as the one illustrated in FIG. 2. For the purpose of illustration, the odd data group 110 and even data group 120 of data stream 130 have been further broken down into individual rows of video data (e.g., odd rows 211, 212 and even rows 221, 222). The scan converter 240 shuffles the data rows as illustrated so that new progressive data stream 230 includes data for reproducing the image by scanning the rows of pixels sequentially (i.e., odd row 211 followed by even row 221, followed by odd row 212 . . . etc).
One problem which occurs when converting an interlaced image to a progressive image is that image distortion or banding may occur. This problem is particularly noticeable when low resolution interlaced image is scaled up and converted to a higher resolution progressive image and/or when the elements which comprise the interlaced image are in motion (i.e., change position from one video frame to another).
For example, as illustrated in FIG. 3 a football 310 which comprises an element within an interlaced image may be moving at a relatively high rate across the interlaced video monitor 350 (in this case, in a horizontal, rightward direction). When the scan converter 240 converts the interlaced data 130 to progressive data 230, the reproduction of the football 310 on the progressive monitor 360 may show leftward image banding 320 and rightward image banding 321 (i.e., banding parallel to the motion of the element). This is because when the interlaced video data was originally generated the odd lines were scanned first (e.g., in the first 1/60 of a second), and then the even lines were scanned (e.g., in the second 1/60 of a second). Accordingly, for elements in motion such as football 310, the odd-row portion of the image 320 and the even-row portion of the image 321 may be spatially separated by the distance the football 310 traveled in 1/60 of a second.
Numerous image correction techniques have been developed to solve the foregoing problem (e.g., “line doubling” or other image data extrapolation mechanisms). All of these prior techniques, however, require a substantial amount of processing power and memory overhead to cure the foregoing image banding problem. For example, in order to extrapolate a corrected image from two separate groups of image data (i.e., the even and odd image rows described above), the two groups of data must be concurrently stored in memory and analyzed in a relatively short period of time (e.g., before the next sequential frame is to be displayed). Accordingly such systems typically require complex, relatively expensive video processors and a great deal of fast access memory to store the successive frames to be analyzed.
In addition, such systems introduce a multi-frame delay in processing the video since multiple successive frames must be stored and analyzed before the first frame in the sequence can be displayed. This delay becomes more of a significant issue in audiovisual configurations which have separate audio and video systems (e.g., home theaters, video conferencing systems . . . etc). In such configurations, the multi-frame video delay may cause the video and audio to become unsynchronized (i.e., by an amount equal to the multi-frame delay). Although resynchronization is possible by adding a delay in the audio equal to the multi-frame delay, it requires audio hardware complex enough to include a delay feature and capable of precise calibration (e.g., calibration may need to be on the order of 1/10th of a second or better to precisely synchronize lip motion in the video with speech).
Accordingly, what is needed is a system and method for converting between interlaced and progressive data which does not require the same processing and memory overhead needed in prior image correction systems. What is also needed is a system and method which will use preexisting data generated when the video is encoded, such as the interframe motion compensation data generated under the Motion Picture Experts Group (hereinafter “MPEG”) compression algorithms (e.g., MPEG-1, MPEG-2 . . . etc). What is also needed is a system and method which does not introduce a real-time delay when performing interlaced to progressive conversion.